Communication between a calling party and a called party may be established over a communications network. Different types of connections, or calls, can exist in some communication networks. These different types of connections include permanent-type connections that generally ensure a calling party immediate communication access to the called party since the connection is permanently established, and switched-type connections, where the calling party attempting to reach the called party has no guarantee that a connection will be established. Servicing different types of connections allows for a communication system to support the needs of a variety of users. Although individual networks dedicated to switched and permanent type connections can be established to support each type of user, it is much more economical and efficient to establish a single network that can support the needs of a variety of users.
A typical communication system includes a plurality of switches that pass data in packets or cells from a calling party to the called party and vice versa. The links coupling the switches may have different data carrying capabilities such that the bandwidth available for data communication across each link may vary greatly.
One technique that has been used to facilitate overall network efficiency and to isolate the impact of one service (eg. SVCs) on another (eg. SPVCs) has been to partition the bandwidth on individual links among the types of service. Partitioning can be used to ensure a certain amount of bandwidth across a link is used for permanent type connections, whereas another portion is used for switched type connections. In other embodiments, partitioning can be used to separate the total bandwidth across a link between customers, such as in a virtual private network (VPN) application, or to divide the available bandwidth based on a prioritization scheme. The “connection type” of a connection is used throughout the application to distinguish between the different types of users, priorities, or services (eg. SVC vs. SPVC) corresponding to connections that utilize the various bandwidth partitions.
Although partitioning bandwidth across a link can ensure that the bandwidth is reserved for a certain connection type, current call routing systems are not equipped to use information regarding partitioning in a network to make more intelligent routing decisions. For example, if a path or group of links has a large amount of available bandwidth, but it is partitioned such that none of the bandwidth is available for routing a certain connection type, the routing system may still try to route a call of that connection type using the path. In some cases, the routing system may try a number of inappropriate paths before it blindly stumbles upon a path whose partitioning supports the particular connection type. This inefficient routing reduces some of the benefits gained from link partitioning and degrades overall network performance.
Therefore, a need exists for a method and apparatus that uses partitioning information to make intelligent path selection routing and other network decisions. The method and apparatus should be capable of supporting the variety of different types of partitioning that can exist, including connection type partitioning, user partitioning, and partitioning based on various prioritization schemes.